System and method for group participation in a digital media presentation

ABSTRACT

System and method for group participation in a digital media presentation are provided that are capable of selecting digital media items for inclusion in the presentation from multiple participant&#39;s accounts thereby creating a group presentation in which digital media items of each participant are included in the presentation. Selections of digital media items for inclusion in the presentation can be made directly at the direction of the participations or inferentially according to a selection algorithm. Selections can be made during the presentation thereby allowing a participant to join the presentation after it has started and contribute digital media items to the presentation while it is running.

BENEFIT CLAIM

This application claims the benefit under 35 U.S.C. § 120 as acontinuation of application Ser. No. 13/910,041, filed Jun. 4, 2013, theentire contents of which is hereby incorporated by reference for allpurposes as if fully set forth herein. The Applicant hereby rescinds anydisclaimer of claim scope in the parent application or the prosecutionhistory thereof and advises the USPTO that the claims in thisapplication may be broader than any claim in the parent application.

BACKGROUND

This disclosure generally relates to digital media presentationapplications, and more specifically, to group use of a network-baseddigital media presentation application by multiple participants.

Conventional digital media presentation applications may be used topresent digital media. For example, a photo slideshow application maypresent a series of digital images on a video display, perhaps set orchoreographed to music. Some presentation applications are used in astand-alone environment, for example on a user's personal computer.Other presentation applications may be shared on a network with multipleusers. Many digital media presentations created by conventional digitalmedia presentation applications are fixed in that the digital mediaitems included in the presentation must be selected before thepresentation begins. Such applications do not allow new digital mediaitems to be added to the presentation while it is running.

The approaches described in this section are approaches that could bepursued, but not necessarily approaches that have been previouslyconceived or pursued. Therefore, unless otherwise indicated, it shouldnot be assumed that any of the approaches described in this sectionqualify as prior art merely by virtue of their inclusion in thissection.

SUMMARY OF THE DISCLOSURE

A digital media presentation application is disclosed herein that allowsmultiple users to participate in a digital media presentation. Thepresentation application is executed in a distributed networkedcomputing environment and is capable of supporting group participationin the presentation in which each participant in the group canindividually provide digital media content for the presentation usingtheir personal computing devices. User participation in thepresentation, including providing digital media content for thepresentation, may occur after the presentation has started and while thepresentation is running.

In one aspect, a method for group participation in a digital mediapresentation includes receiving a first network request from a personalcomputing device of a first user to participate in the digital mediapresentation. A second network request from a personal computing deviceof a second user to participate in the digital media presentation isalso received. One or more digital media items associated with anaccount of the first user and one or more digital media items associatedwith an account of the second user are selected by the method forinclusion in the digital media presentation.

In another aspect, a system for group participation in a digital mediapresentation includes one or more servers communicatively coupled to aplurality of clients by one or more data networks. The plurality ofclients includes a personal computing device of a first user and apersonal computing device of a second user. The one or more serversinclude a presentation server module configured to receive a firstnetwork request from the personal computing device of the first user toparticipate in the digital media presentation. The presentation servermodule is further configured to receive a second network request fromthe personal computing device of the second user to participate in thedigital media presentation. The presentation server module is alsoconfigured to select one or more digital media items associated with anaccount of the first user one or more digital media items associatedwith an account of the second user for inclusion in the digital mediapresentation.

BRIEF DESCRIPTION OF THE DRAWINGS

Further features of the present invention, its nature and variousadvantages, will be apparent upon consideration of the followingdetailed description, taken in conjunction with the accompanyingdrawings, in which like reference characters refer to like partsthroughout, and in which:

FIG. 1 is a diagram illustrating an example networked computingenvironment for implementing an embodiment of the invention.

FIG. 2 is a data entity relationship diagram of data that may be storedin an account database according to an embodiment of the invention.

FIG. 3 is a flowchart of an exemplary process performed by a mediapresentation system for group participation in a digital mediapresentation according to an embodiment of the present invention.

FIG. 4 is a flowchart of an exemplary process performed by a clientdevice for group participant in a digital media presentation accordingto an embodiment of the present invention.

FIG. 5 is flowchart of an exemplary process performed by a presentationserver module for group participation in a digital media presentationaccording to an embodiment of the present invention.

FIG. 6 is a block diagram illustrating a computer system on whichembodiments of the invention may be implemented.

DETAILED DESCRIPTION

In the following description, for the purposes of explanation, numerousspecific details are set forth in order to provide a thoroughunderstanding of the present invention. It will be apparent, however,that the present invention may be practiced without these specificdetails. In other instances, well-known structures and devices are shownin block diagram form in order to avoid unnecessarily obscuring thepresent invention.

Overview

Aspects of the invention relate to a digital media presentationapplication which may be used in an online networked environment forgroup participation in a digital media presentation. The presentationmay be made to the participants at a physically remote location from thepresentation application. For example, the presentation may be made on atelevision in a participant's home and the presentation application maybe hosted in an Internet-connected data center or othernetwork-connected hosting facility located remotely from theparticipant's home. Participants may control the presentation from theirpersonal computing devices by sending network requests to thepresentation application. Such control can include joining an existingpresentation and selecting digital media items for inclusion in thepresentation. The presentation application coordinates the presentationincluding responding to participant's network requests, selectingdigital media items for inclusion the presentation, and causing theselected digital media items to be presented. The presentationapplication can select digital media items for inclusion in thepresentation directly at the direction of the participants orautomatically according to an inferential selection algorithm.Participants may control the presentation after the presentation hasstarted and while the presentation is running. In particular, aparticipant may join an already started presentation and add digitalcontent items to the running presentation.

As used herein, the term “digital media presentation” or just“presentation” refers to any electronic presentation of digital mediaappropriate for the type of digital media, which can be varied.Typically, the type of digital media will be visual only (e.g., text,animation, video, images, graphics), aural only (e.g., music or speech),or both visual and aural (e.g., movies or other audiovisual programs,musical slideshows, or other combination of visual and aural digitalmedia). An appropriate presentation for visual digital media could be,for example, displaying the visual digital media on a video display. Anappropriate presentation for aural digital media could be, for example,outputting the aural digital media from a speaker. An appropriatepresentation for visual and aural digital media could be displaying thevisual portion of the digital media on a video display whilesimultaneously outputting the aural portion of the digital media from aspeaker or speakers.

Although the following disclosure is discussed primarily in the contextof group digital image slideshow presentation software, one of skill inthe art will understand that the features and concepts described hereinmay be applied to other digital media types including, for example,digital video, digital audio, text documents, spreadsheet documents,slide deck presentation documents, and other digital media types.

Networked Computing Environment

FIG. 1 is a diagram illustrating an example networked computingenvironment 100 in which concepts consistent with the principles of thepresent invention may be implemented. Environment 100 includes multipleclients 110 that connect to servers 120, via network 150. Environment100 also includes media presentation system 130 that connects to servers120 and a content item repository 140, via network 150. Network 150 maybe any network, such an intranet, the Internet, a local area network(LAN), a wide area network (WAN), a telephone network, a cellularnetwork, a wireless network, or a combination of such networks. Althoughonly one server 120 and three clients 110 are illustrated in FIG. 1, anynumber or combination of servers and clients suitable for therequirements of the implementation at hand may be used. Similarly,although only one content item repository 140 and one media presentationsystem 130 are illustrated in FIG. 1, any number or combination ofcontent item repositories and media presentation systems suitable forthe requirement of the implemented at hand may be used. Further,although single network 150 is shown in FIG. 1, multiple networks may beused.

In one exemplary embodiment, each of clients 110 and media presentationsystem 130 connect to the same wireless network such as an IEEE801.11b/g/n wireless network. For example, the wireless network may beprovided by a wireless hub or router in a home or office. The wirelessnetwork in turn is connected to the Internet by an Internet ServiceProvider (ISP) such as a cable operator or phone company. In theexemplary embodiment, the servers 120 and content item repository 140are connected to the Internet by a data center or co-location providerin which the servers 102 and content item repository 140 are housed.Thus, in this exemplary embodiment, clients 110 communicate with servers120 and media presentation system 130 communicates with servers 120 andcontent item repository 140 via the Internet. Network communication overnetwork 150 may be made according to any number of network communicationprotocols depending on the requirements of the implementation at handincluding, for example, the User Datagram Protocol (UDP), theTransmission Control Protocol/Internet Protocol (TCP/IP), the HyperTextTransfer Protocol (HTTP), and the Secure HyperText Transfer Protocol(HTTPS).

Media presentation system 130 includes electronic components forpresenting the digital media included in the presentation. For example,media presentation system 130 may include a video display and/or aspeaker(s).

In addition, media presentation system 130 includes presentation clientapplication 135. In one embodiment, presentation client application 135is a software program such as JAVA program, for example, and mediapresentation system 130 includes general-purpose hardware and softwarecomputer components for executing the software program such asprocessor(s) (CPU(s)), memory, a hardware bus, and an operating system.While presentation client application 135 may be implemented insoftware, presentation client application 135 can instead be implementedin hardware or in a combination of hardware and software.

Media presentation system 130 may include an Application ProgrammingInterface (API) or other interface enabling presentation clientapplication 135 to present digital media at media presentation system130. In some embodiments, media presentation system 130 is a smarttelevision device (also referred to as a “connected television” or“hybrid television”) or set-top device (e.g., a game console, BLU-RAYplayer, hotel television system, or other device) that integrates mediapresentation capabilities, data processing capabilities, and networkconnectivity capabilities. In these embodiments, presentation clientapplication 135 may be developed according to a software development kit(SDK) and/or a native development kit (NDK) for developing third-partyapplications for a smart television, a set-top device, or othernetworked computing platform. In other embodiments, media presentationsystem 130 is a personal computing device such as a desktop computer, aworkstation computer, or a laptop computer.

Participants use their personal computing devices 110 (referred tohereinafter as clients 110 or client devices 110) to participant in agroup media presentation. As used herein, the term “participant” refersto a human user that participates in a group media presentation. In someembodiments, clients 110 are portable computing devices such as mobilephones, tablet computers, personal data assistants, laptop computers, orother mobile device. In other embodiments, clients 110 are stationarycomputing device such as desktop computers and workstation computers.Clients 110 can also include a mix of portable computing devices andstationary computing devices.

Participants use a participant client application 115 installed on theirclients 110 to participate in a group presentation presented at mediapresentation system 130. Participant client application 115 may providea graphical user interface or other user interface to facilitate suchparticipation. In some embodiments, participant client application 115is a mobile application developed for a particular mobile computingplatform such as APPLE IOS, ANDROID, or BLACKBERRY OS. In otherembodiments, participant client application 115 is a web browser such asINTERNET EXPLORER, FIREFOX, OPERA, CHROME, or SAFARI. Some or all of theinstructions implementing participant client application 115 may bedelivered by server 120 to clients 110 over network 150 for execution atclients 110. Such instructions may include, for example, HyperTextMarkup Language (HTML) instructions, Cascading Style Sheet (CSS)instructions, JAVASCRIPT, or other types of software instructionsinstructions. Different clients 110 may execute different forms ofparticipant client application 115. For example, some clients 110 mayexecute a web browser-based form of participant client application 115while other clients 110 may execute a mobile application-based form ofparticipant client application 115.

Server 120 hosts presentation server module 125. Presentation servermodule 125 includes instructions or sets of instructions facilitating agroup media presentation at media presentation system 130. Suchfacilitating may include receiving and responding to network requestcommands from clients 110 over network connections 152. Suchfacilitating may include receiving media presentation information frommedia presentation system 130 over network connection 154 and sendingmedia presentation information to media presentation system 130 overnetwork connection 154. Such facilitating may also include selectingdigital media items for inclusion in a group media presentation at mediapresentation system 130 based on data stored in account database 127.Although presentation server module 125 is illustrated in FIG. 1 asbeing hosted on one server 120, presentation server module 125 can bedistributed across multiple servers 120 according to the requirements ofparticular implement at hand.

Digital media items 145 presented as part of a group media presentationat media presentation system 130 may be stored in content itemrepository 140. Media presentation 130 may download digital media items145 to be presented from content item repository 140 over networkconnection 156. In one embodiment, digital media items 145 may bedownloaded from content item repository 140 at corresponding UniformResource Locators (URLs) in which each such URL uniquely identifies adigital media item 145 in content item repository 140. Presentationclient application 135 on media presentation system 130 may receive URLsrepresenting digital media items 145 selected for inclusion in a groupmedia presentation from presentation server module 125 on server 120over network connection 154.

Digital media items 145 stored in and downloaded from content itemrepository 140 can take a wide variety of different media formats. Suchmedia formats may include, but are not limited to, digital image formats(e.g., TIFF, PNG, GIF, JPG, RAW, BMP, PSD, PSP, etc.), digital audioformats (e.g., MP3), digital video formats (e.g., MPEG-2, MPEG-4),transport stream formats (e.g., MPEG-TS), and digital documents formats(e.g., .DOC, .XLS, .PDF, .TXT).

Although illustrated separately in FIG. 1, server 120 and content itemrepository 140 may be controlled and operated by the same entity such asthe same business, organization, or company. In other embodiments,however, server 120 is controlled and operated by a different entitythan the entity that controls and operates content item repository 140.In both cases, account database 127 may store URLs or other digitalmedia item location identifiers that refer to and identify digital mediaitems 145 stored in content item repository 140. In scenarios wherecontent item repository 140 and server 120 are controlled and operatedby different entities, there may be a business agreement in placebetween the two entities allowing the entity that controls and operatesserver 120 to send URLs or other digital media item location identifiersto media presentation system 130 by which media presentation system 130can download digital media items 145 from content item repository 140.

Account Database

As mentioned, presentation server module 125 selects digital media items145 for inclusion in a group media presentation at media presentationsystem 130 based on data stored in account database 127. Such selectioncan be at the explicit direction of a participant. For example, theparticipant may use participant client application 115 to selectparticular digital media items 145 associated with the participant'saccount in account database 127 to include (or not include) in the groupmedia presentation. Selection can also be inferential in whichpresentation server module 125 automatically and inferentially selectsdigital media items 145 for inclusion in the group presentation based oninferential selection metadata stored in account database 127.Inferential selection can be implemented to provide a “fire and forget”mode of operation. For example, presentation server module 125 caninferentially select digital image media items 145 (e.g., photos)associated with multiple participant's accounts to automatically createa group photo slideshow presented at media presentation system 130.

FIG. 2 is a data entity relationship diagram 200 illustratingrelationships between data that may be stored in account database 127according to an embodiment of the invention. Account record 202represents an account of a participant. A participant may be associatedwith an account record 202 by a user authentication process which may beconducted by the presentation server module 125 or a third-partyauthentication service (not shown). For example, a participant may beassociated with an account record 202 by providing a valid username andpassword combination to presentation server module 125 or a third-partyauthentication service. If a third-party authentication service, theauthentication service may provide an authentication token topresentation server module 125 after successfully authenticating theparticipant and by which the presentation server module 125 canassociate the participant with an account record 202. After beingauthenticated and associated with an account record 202, theauthenticated participant interacts with presentation server module 125in the context of the account record 202. In particular, a networkrequest sent from client 110 to presentation server module 125 overnetwork connection 152 is made in the context of a known identity of theparticipant making the request such that the presentation server module125 can associate the request with an account record 202 of theparticipant.

An account record 202 may be associated with one or more digital mediaitem records 204. A digital media item record 204 may correspond to adigital media item 145 stored in content item repository 140. A digitalmedia item record 204 may contain location information identifying thelocation of the corresponding digital media item 145 in content itemrepository 140. The location information may be submitted by mediapresentation system 130 to content item repository 140 in a networkrequest over network connection 156 for purposes of downloading thecorresponding digital media item 145 to media presentation system 130.In some embodiments, the location information is a URL for thecorresponding digital media item 145 which may be submitted to contentitem repository 140 in a network request. In other embodiments, thelocation information is information that may be included in a URLformulated by presentation server module 125 or presentation clientapplication 135 and then submitted to content item repository 140 in anetwork request.

A digital media item record 204 may be associated with more than oneaccount record 202. For example, a digital media item record 204 may beassociated with multiple account records 202 if multiple users haveshared access to or shared management of the corresponding digital mediaitem 145. As another example, a digital media item record 204 may beassociated with multiple account records 202 if multiples users areknown to appear in or be related to the corresponding digital media item145.

A digital media item record 204 may be associated with inferentialselection metadata 206. Presentation server module 125 may processinferential selection metadata 206 associated with the digital mediaitem records 204 associated with an account record 202 of a participantfor purposes of inferentially selecting digital media items 145 toinclude in a group media presentation in which the participant isparticipating.

Inferential selection metadata 206 for a digital media item record 204can include a wide variety of information on which inferential selectionof the corresponding digital media item 145 can be based. In someembodiments, inferential selection metadata 206 includes any combinationof access descriptors, privacy descriptors, and content descriptors.

Access descriptors are information that represents when, how often, andby whom the corresponding digital media item 145 has been accessed.“Access” in this context includes downloading the corresponding digitalmedia item 145 (or a portion thereof) from content item repository 140(e.g., to view in a web browser or store at a client device). The accessdescriptors may be generated based on network access logs or otherhistorical access information collected based on network access todigital media items 145 at content item repository 140. The accessdescriptors can include the raw access log information such as data fromaccess log entries or summaries of raw access log information. Somepossible access descriptors that may be useful for making inferentialselection decisions about the corresponding digital media item 145 forinclusion in a given group media presentation include, but are notlimited to:

-   -   the last time the corresponding digital media item 145 was        accessed by any participant in the given group media        presentation;    -   the last time the corresponding digital media 145 was accessed        by a particular participant in the given group media        presentation;    -   the number of times the corresponding digital media item 145 has        been accessed by any participant in the given group media        presentation; and    -   the number of times the corresponding digital media item 145 has        been access by a particular participant in the given group media        presentation.

Privacy descriptors are information that represents any access controlon the corresponding digital media item 145. Privacy descriptors mayindicate who has access to the corresponding digital media item 145 andin particular which participants in a given group media presentationhave access to the corresponding digital media item 145. Privacydescriptors may indicate general access categories for the correspondingdigital media item 145 such as “public” or “private.” Privacydescriptors may include specific access control information related topresentation in group media presentations generally. The specific accesscontrol information can represent group media presentation policies suchas “do not include the corresponding digital media item 145 in any groupmedia presentation” or “do not include the corresponding digital mediaitem 145 in a group media presentation in which not all users associatedwith the corresponding digital media item 145 by their account records202 are participants in the group media presentation”.

Content descriptors are information that represents the content of thecorresponding digital media item 145. Content descriptors can include awide variety of different content information about the correspondingdigital media item 145 including, but not limited to:

-   -   Creator information—i.e., information specifying users or        participants involved in creating the corresponding digital        media item 145. For example, if the corresponding digital media        item 145 embodies an original creative work, then the content        descriptors may specify the participant or participants that        created the work embodied in the corresponding digital media        item 145. As another example, if the corresponding digital media        item 145 is a photo, then the content descriptors may specify        the participant that took the photo.    -   Subject information—i.e., information specifying users or        participants that are the subject of the digital media item 145.        For example, the content descriptors may specify the        participants that appear in a photo or a video or that speak or        sing in an audio presentation.    -   Geographical information—i.e., information specifying a        geography or physical location. For example, for a digital        photo, the content descriptors may specify where the photo was        taken.    -   Temporal information—i.e., information specifying dates and        times related to the corresponding digital media item 145. For        example, for a digital photo, the content descriptors may        specify when the photo was taken.

Example Media Presentation System Process

FIG. 3 is a flowchart illustrating a process 300 for group participationin a media presentation performed by presentation client application 135of media presentation system 130, according to an embodiment of thepresent invention. While the steps of process 300 are illustrated inFIG. 3 in a certain order, some steps are performed in a differentorder, some steps are performed concurrently, some steps are omitted,and/or some steps are combined in other embodiments.

Initially, at step 302, presentation client application 135 establishesnetwork connection 154 with server 120. For example, presentation clientapplication 135 may connect to server 120 according to the TransmissionControl Protocol/Internet Protocol (TCP/IP). Network connection 154 maybe long-lived, for example, for at least the duration of a presentationat media presentation system 130, which may span minutes, hours, days,or more. During the course of a presentation, network connection 154 maybe used by presentation server module 125 to deliver information aboutdigital media items 145 included in the presentation. Such informationmay include, among other things, download information for downloadingdigital media items 145 from content item repository 140 andpresentation information such as, for example, how long to presentincluded digital media items 145 and the order in which to presentincluded digital media items 145. While in some embodiments networkcommunication between presentation client application 135 and server 120is accomplished using a connection-oriented networking protocol such asTCP/IP, network communication between presentation client application135 and server 120 is accomplished using a connectionless networkingprotocol such as the User Datagram Protocol (UDP) in other embodiments.

At step 304, presentation client application 135 establishes apresentation session with presentation server module. Generally, apresentation session is information that may be used by presentationclient application 135, presentation server module 125, and participantclient application 115 to identify a particular active presentation.Presentation server module 125 may conduct multiple presentationsessions at the same time with multiple media presentation systems 130.To distinguish between multiple active presentations, each presentationmay be associated with a unique presentation identifier (unique at leastamong the identifiers assigned to the multiple presentations beingconducted). The presentation identifier may be a numeric or alphanumericsequence, for example. Preferably, for security purposes, thepresentation identifier should be difficult to guess. For example, thepresentation identifier may be a truly randomly generated orpseudo-randomly generated alphanumeric sequence of a predeterminedlength. The presentation identifier can be assigned by presentationclient application 135 and then sent to presentation server module 125via connection 154. Alternatively, presentation server module 125 canassign the presentation identifier and send it to presentation clientapplication 135 via connection 154.

Other information pertaining to capabilities and characteristics ofmedia presentation system 130 may be communicated over connection 154when establishing the presentation session. For example, such otherinformation may include media presentation capabilities such as screensize, screen resolution, available media decoders, or any otherinformation that indicates the type of digital media items that can bepresented at media presentation system 130 or how digital media itemscan be presented at media presentation system 130.

At step 306, presentation client application 135 presents thepresentation identifier at media presentation system 130. Suchpresentation is made so that a participant can obtain the presentationidentifier and communicate it to presentation server module 125 usinghis or her client 110 for purposes of binding to and participating inthe presentation session that the presentation identifier identifies.

In some embodiments, presentation of the presentation identifier is madevisually so that participant can read the presentation identifier andinput into his or her client device 110. For example, the sequence ofcharacters that make up the presentation identifier can be displayed ona video display so that a participant can enter the sequence ofcharacters into his client 110 using a keyboard or soft keypad.

In other embodiments, presentation of the presentation identifier ismade visually so that it can be detected by participant clientapplication 115 on client 110. For example, participant clientapplication 115 can present the sequence of characters that make up thepresentation identifier as a QR code, a matrix barcode, or othertwo-dimension bar code that can be detected as a 2-dimension digitalimage by an image sensor (e.g., a cell phone camera) of a client 110.The presentation client application 115 can process the captured digitalimage to determine the presentation identifier. Alternatively, thepresentation client application 115 can send the captured digital imageto presentation server module 125 for processing. For more informationon QR codes generally refer to the web page at /wiki/QR_code in theInternet domain en.wikipedia.org, the entire contents of which is herebyincorporated by reference.

Steps 308, 310, and 312 may be performed by presentation clientapplication 135 repeatedly. For example, steps 308, 310, and 312 may beperformed in a loop. In addition or alternatively, two or more of steps308, 310, and 312 may be performed concurrently with one another.

At step 308, presentation client application 135 receives mediarepresentation information from presentation server module 125. Mediapresentation information may include digital media identifyinginformation and/or presentation control information.

Digital media identifying information includes information thatidentifies digital media items 145 in content item repository 140 thatare included in the current presentation at media presentation system130. Digital media identifying information for an included digital mediaitem 145 may include information that can be submitted to content itemrepository 140 over network connection 156 for purposes of downloadingthe included digital media item 145 to media presentation system 130.For example, digital media identifying information for an includeddigital media item 145 may be a URL for the included digital media item145 or a sequence of characters or sets of character sequences that canbe included in a network request of content item repository 140 toidentify the requested digital media item 145 to content item repository140 for download.

Reference is made herein to “downloading” digital media items 145 fromcontent item repository 140 to media presentation system 130. In thiscontext, the term “downloading” or “download” includes both (a)receiving a digital media item 145 from content item repository 140 andstoring the received digital media item 145 at media presentation system130 for presentation after the entire digital media item 145 has beenreceived and stored, and (b) receiving a digital item media item 145from content item repository 140 and presenting the digital media item145 as it is being received (also known as “streaming”). Streaming adigital media item 145 from content item repository 140 may includestoring some or all of the digital media item 145 at media presentationsystem 130.

Presentation control information includes information that specifies howthe included digital media items 145 are to be presented at mediapresentation system 130. Presentation control information may includesuch information as the order in which included digital media items 145are to be presented (e.g., ordering information), how long includeddigital media items 145 are to be presented (e.g., presentation timinginformation), transition effects that presentation client application115 is to apply and present for aesthetic transitioning betweenpresentation of successive digital media items 145, and any otherinformation used by presentation client application 135 for controllingthe presentation of the included digital media items 145 at mediapresentation system 130. Transition effects include, but are not limitedto, animated transition effects for visual digital media items 145 suchas blinds transition (e.g., dividing presentation of the current digitalmedia item into horizontally or vertically oriented strips andsimultaneously revealing strips of the next digital media item), boxtransition (e.g., moving presentation of next digital media item intofinal display location with zoom effect), checkerboard transition (e.g.,dividing presentation of the current digital media item into boxes andsimultaneously revealing boxes of the next digital media item), dissolvetransition (e.g., dividing presentation of current digital media iteminto dots that visually dissolve to reveal presentation of next digitalmedia item), wipe transition (e.g., presentation of next digital mediaitem is revealed in a vertical or horizontal direction), or other visualtransition effect. If the successive digital media items 145 areaudio-only, then the transition effects could include afade-out/fade-in, a crossfade, or other audible transition effect.

It should be noted that presentation client application 135 can beginpresenting included digital media items 145 before all digital mediaitems 145 included in the presentation have been download from contentitem repository 140. In other words, step 312 may performed concurrentlywith step 310. For example, presentation client application 135 canpresent already downloaded digital media items 145 while it isdownloading other digital media items 145. Similarly, presentationclient application 135 can begin presenting included digital media items145 before media presentation information for all digital media items145 included in the presentation have been received from presentationserver module 125. In other words, step 312 may be performedconcurrently with step 308. For example, presentation client application135 can present already downloaded digital media items 145 while it isreceiving media presentation information for other digital media items145 from presentation server module 125. Thus, presentation clientapplication 135 is not required to receive media presentationinformation for all included digital media items 145 or required todownload all included digital media items 145 before presentation clientapplication 135 begins presenting included digital media items 145.

After receiving media presentation information for an included digitalmedia item 145, the included digital media item 145 is downloaded fromcontent item repository 140 at step 310. After the included digitalmedia item 145 is download or while the included digital media item 145is being downloaded (i.e., streamed), the included digital media item145 is presented at step 312. Such presentation may be made inaccordance with presentation control information received for theincluded digital media item 145 at step 308.

Example Client Device Process

FIG. 4 is a flowchart illustrating a process 400 for group participationin a media presentation performed by participant client application 115of client device 110, according to an embodiment of the presentinvention. While the steps of process 400 are illustrated in FIG. 4 in acertain order, some steps are performed in a different order, some stepsare performed concurrently, some steps are omitted, and/or some stepsare combined in other embodiments.

At step 402, participant client application 115 on a client 110 of aparticipant generates and sends a network request to join a presentationto presentation server module 125 over network connection 152. Multipleparticipants may each join a group media presentation by sending (step402) a join network request from their respective client devices 110 topresentation server module 125. The join network request may be made inaccordance with the HyperText Transfer Protocol (HTTP) of the SecureHyperText Transfer Protocol (HTTPS), for example. The join networkrequest indicates the presentation identifier of the presentation theparticipant wishes to join and participate in. While in some embodimentsnetwork communication between participant client application 115 andserver 120 is accomplished using a connection-oriented networkingprotocol such as TCP/IP, network communication between participantclient application 115 and server 120 is accomplished using aconnectionless networking protocol such as the User Datagram Protocol(UDP) in other embodiments.

Participant client application 115 may send the network request inresponse to the participant interacting with a user interface ofparticipant client application 115 presented at the participant's client110. For example, participant client application 115 may send thenetwork response in response to the participant activating a “JoinPresentation” or similarly labeled button or other user interfaceelement. Such activation may be made by a mouse click or atouch-gesture, for example.

Alternatively, participant client application 115 may send the networkrequest automatically in response to detecting conditions that indicatethat the participant would like to participate in the presentation. Forexample, participant client application 115 may offer a “join when near”configuration setting which, when activated, will cause the participantclient application 115 to attempt to automatically join a group mediapresentation when the participant's client device 110 is physically neara media presentation system 130 presenting the group media presentation.Detecting when the participant's client 110 is near the mediapresentation system 130 can be based on geographical or physicallocation information about the participant's client device 110 availableto the participant client application 115. For example, nearnessdetection can be based on Global Positioning System (GPS) satelliteinformation provided to participant client application 115 by a GPSmodule of the participant's client device 110.

In some embodiments, the participant's client device 110 is consideredto be near the media presentation system 130 if the participant's clientdevice 110 is near (e.g., within 100 feet) of another participant'sclient device 110 that has already joined the group media presentation.For this, both participants' client devices 110 may periodically sendphysical or geographical location information about the devices 110 topresentation server module 125 over network connections 152. By doingso, presentation server module 125 can detect when a client device 110that has not yet joined a group media presentation is likely near themedia presentation system 130 presenting the group media presentation bydetecting when the client device 110 of the not-yet-joined participantis physically near the client device 110 of a participant who has joinedthe group media presentation. In response to detecting this,presentation server module 125 can send a notification or message to theclient device 110 of the non-yet-joined participant containinginformation about the nearby group media presentation. Such informationmay include the presentation identifier among other information such aswho has currently joined the presentation. Depending on configurationsettings for the participant client application 115 on the client device110 of the not-yet-joined participant, the participant clientapplication 115 may automatically send a join network request topresentation server module 125 to join the group media presentation ordo so after receiving confirmation to join the group media presentationfrom the not-yet-joined participant. Such confirmation may be providedthrough a user interface presented at the client device 110 of thenot-yet-joined participant. For example, a pop-up notification, task barmessage, or other notification or message may be displayed at the clientdevice 110 of the not-yet-joined participant asking if he or she wantsto join the group media presentation. In response to receivingconfirmation, the participant client application 115 sends the joinnetwork request to presentation server module 125.

In addition to receiving the presentation identifier of a group mediapresentation from presentation server module 125, a participant clientapplication 115 can obtain the presentation identifier of a group mediapresentation in other ways. Once obtained, the presentation clientapplication 115 can send the join network request specifying theobtained presentation identifier. In some embodiments, the presentationidentifier is provided to participant client application 115 by theparticipant. For example, the participant may read the presentationidentifier as presented by media presentation system 130 and thenprovide the presentation identifier to participant client application115 whereupon participant client application 115 sends the presentationidentifier in a join network request to presentation server module 125.For example, the presentation identifier may be displayed on a videodisplay or audibly output from a speaker of media presentation system130. The participant may then enter the presentation identifier as inputto participant client application 115, for example, by entering thecharacters of the presentation identifier using a hard-keyboard orsoft-keyboard associated with client device 110. Alternatively,participant client application 115 can detect the presentationidentifier as presented by media presentation system 130. For example,an image sensor of the participant's client device 110 can capture animage of a QR code visually presented by presentation client application135 at media presentation system 130. The QR code can encode thepresentation identifier.

After a participant has joined a media presentation by sending a joinnetwork request (step 402), the participant can send one or morepresentation command network requests from their client device 110 asrepresented by step 404 in FIG. 4. The participant can send a variety ofdifferent presentation commands including a media selection command.

A media selection command is made to specify to presentation servermodule 125 how digital media item selections are to be made among thedigital media items 145 associated with the account of the participantmaking the request. In some embodiments, a media selection commandspecifies either (a) a particular digital media item 145 associated withthe participant's account that the participant wants to include in orexclude from the media presentation, or (b) that presentation servermodule 125 should automatically select digital media items 145associated with the participant's account for inclusion in the mediapresentation. Both types of media selection commands can be made by thesame participant during the same media presentation. For example, aparticipant make select one or more particular digital media items 145to be included in or excluded from the media presentation and thenselect an automatic media selection feature to have presentation servermodule 125 select other digital media items for inclusion in the mediapresentation. When making the automatic selections, the presentationserver module 125 may honor any digital media items 145 that theparticipant selected to be excluded from the media presentation by notselecting the excluded digital media items 145 for inclusion in themedia presentation.

Media selection commands may be made by the participant through a userinterface presented at the participant's client device 110. For example,the user interface may allow the participant to browse the digital mediaitems 145 associated with the participant's account. As the participantis browsing, the participant can select individual digital media items145 or groups of digital media items 145 to include in or exclude fromthe media presentation. For example, the browsing user interface maypresent selectable thumbnail images, icons, or other user interfaceelements that the participant can interact with, for example, byclicking or double clicking on with a mouse or other pointing device orwith a touch-gesture as appropriate. User interface selections result inparticipant client application 115 sending network requests over networkconnection 152 containing media selection commands reflecting the userinterface selections.

Exemplary Presentation Server Module Process

FIG. 5 is a flowchart illustrating a process 500 for group participationin a media presentation performed by presentation server module 125 ofserver 102, according to an embodiment of the present invention. Whilethe steps of process 500 are illustrated in FIG. 5 in a certain order,some steps are performed in a different order, some steps are performedconcurrently, some steps are omitted, and/or some steps are combined inother embodiments. In some embodiments, some steps are preformedmultiple times during the course of a presentation. For example, steps504, 506, 508, and 510 may be performed multiples times during apresentation.

At step 502, presentation server module 125 establishes a presentationsession with a media presentation system 130. Such establishment mayinvolve establishing network connection 154 between server 102 and mediapresentation server 130. Such establishment may also include assignmentof a presentation identifier to the presentation.

At step 504, presentation server module 125 receives a network requestfrom a participant's client device 110 to join a presentation. Thenetwork request may include the presentation identifier of thepresentation the participant wishes to join. Upon receiving the joinnetwork request, present server module 125 may create metadataassociating an account record 202 of the participant with thepresentation identifier, for example, in account database 127 or othercomputer memory.

At step 506, presentation server module 125 receives a network requestfrom a participant's client device 110 including a presentation command.The presentation command can specify a particular digital media item 145associated with the participant's account record 202 through a digitalmedia item record 204. The command may be to include the particulardigital media item 145 in the presentation or to exclude the particulardigital media item 145 from the presentation. Alternatively, instead ofspecifying a particular digital media item 145 to include or exclude,the presentation command can request the presentation server module 125to automatically select digital media items 145 associated with theparticipant's account record 202 through digital media item records 204for inclusion in a group media presentation. The group mediapresentation may be identified in the request by its presentationidentifier.

At step 508, in response to receiving the network request at step 506,presentation server module 125 makes a selection of a digital media item145 associated with the account of the participant that made the requestat step 506. Step 508 may be performed multiple times in response toreceiving the network request at step 506. For example, step 508 may beperformed multiple times if presentation server module 125 is makingautomatic digital media item selections or if the network request atstep 506 specifies multiple digital media items 145 selected by theparticipant.

If the request at step 506 explicitly specifies digital media items 145to be included in the digital media presentation, then presentationserver module 125 reads network location information for the specifieddigital media items 145 from the corresponding digital media itemrecords 204 in account database 127. This network location informationwill be sent to media presentation system 130.

If presentation server module 125 is requested to make automatic digitalmedia selections by the request received at step 506, then presentationserver module 125 processes the digital media item records 204 andassociated inferential selection metadata 206 associated with theparticipant's account record 202. In particular, presentation servermodule 125 applies an inferential selection algorithm in an attempt toinfer which of the digital media items 145 associated with theparticipant account the participant would select for inclusion in themedia presentation. Generally, the inferential selection algorithminvolves assigning an inclusion score to each digital media item basedon a number of inferential selection factors (which can be weighted) andthen selecting some number of the highest scoring digital media itemsfor inclusion in the digital media presentation. The inferentialselection factors can be based on a variety of available inferentialselection metadata 206 including, but not limited to, some or all of thefollowing:

-   -   Numerosity of access/views—For example, digital media items that        have the most number of accesses or views may be selected. The        selection may be restricted to the most number of access or        views by a particular participant (e.g., the participant for        which the selection is being made) or the most number of access        or views by all participants to the media presentation.    -   Privacy or access controls—For example, digital media items        marked as private or other access controls that indicate or        mandate that the digital media items should not be included in        the media presentation may not be selected.    -   Content—For example, digital media items known to feature a        participant or multiple participants may be selected. For        example, a photo known to be a picture of a participant or        multiple participants may be selected.    -   Temporal—For example, the most recently created digital media        items may be selected.

After a digital media item is selected at step 508, location informationfor the selected digital media item is sent to media presentation system130 over network connection 154. The location information is informationpresentation client application 135 can use to download the selecteddigital media item from content item repository 140. In addition tolocation information, presentation server module 125 may also sendpresentation metadata for the selected digital media item such aspresentation ordering information, presentation length information,and/or presentation transitioning information. For example, thepresentation ordering information may specify that the selected digitalmedia item is to be presented next in order after all previouslyselected digital media items have been presented. This may also beimplied by the order in which location information for selected digitalmedia items is sent to media presentation system 130 over networkconnection 154. The presentation length information may specify how longthe selected digital media item is to be presented. For example, if thedigital media item is a photo, then presentation length information mayspecify how long the photo is to be presented on the video display atmedia presentation system 130. As another example, if the digital mediaitem is a video, the presentation length information may specify a starttime indicating a point in time during the duration of the video thatpresentation of the video is to begin and also specify an end time or apresentation time length that indicates for how long from the startpoint the video is to be presented. Presentation transitioninginformation may specify how presentation client application 135 is totransition the presentation of previously presented digital media itemto the selected digital media item, for example, according to one ormore of the transition effects discussed above.

Example Implementing Mechanism

According to one embodiment, the techniques described herein areimplemented by one or more special-purpose computing devices. Thespecial-purpose computing devices may be hard-wired to perform thetechniques, or may include digital electronic devices such as one ormore application-specific integrated circuits (ASICs) or fieldprogrammable gate arrays (FPGAs) that are persistently programmed toperform the techniques, or may include one or more general purposehardware processors programmed to perform the techniques pursuant toprogram instructions in firmware, memory, other storage, or acombination. Such special-purpose computing devices may also combinecustom hard-wired logic, ASICs, or FPGAs with custom programming toaccomplish the techniques. The special-purpose computing devices may bedesktop computer systems, portable computer systems, handheld devices,networking devices or any other device that incorporates hard-wiredand/or program logic to implement the techniques.

For example, FIG. 6 is a block diagram that illustrates a computersystem 600 upon which an embodiment of the invention may be implemented.Computer system 600 includes a bus 602 or other communication mechanismfor communicating information, and a hardware processor 604 coupled withbus 602 for processing information. Hardware processor 604 may be, forexample, a general purpose microprocessor.

Computer system 600 also includes a main memory 606, such as a randomaccess memory (RAM) or other dynamic storage device, coupled to bus 602for storing information and instructions to be executed by processor604. Main memory 606 also may be used for storing temporary variables orother intermediate information during execution of instructions to beexecuted by processor 604. Such instructions, when stored innon-transitory storage media accessible to processor 604, rendercomputer system 600 into a special-purpose machine that is customized toperform the operations specified in the instructions.

Computer system 600 further includes a read only memory (ROM) 608 orother static storage device coupled to bus 602 for storing staticinformation and instructions for processor 604. A storage device 610,such as a magnetic disk, optical disk, or solid-state drive is providedand coupled to bus 602 for storing information and instructions.

Computer system 600 may be coupled via bus 602 to a display 612, such asa cathode ray tube (CRT), for displaying information to a computer user.An input device 614, including alphanumeric and other keys, is coupledto bus 602 for communicating information and command selections toprocessor 604. Another type of user input device is cursor control 616,such as a mouse, a trackball, or cursor direction keys for communicatingdirection information and command selections to processor 604 and forcontrolling cursor movement on display 612. This input device typicallyhas two degrees of freedom in two axes, a first axis (e.g., x) and asecond axis (e.g., y), that allows the device to specify positions in aplane.

Computer system 600 may implement the techniques described herein usingcustomized hard-wired logic, one or more ASICs or FPGAs, firmware and/orprogram logic which in combination with the computer system causes orprograms computer system 600 to be a special-purpose machine. Accordingto one embodiment, the techniques herein are performed by computersystem 600 in response to processor 604 executing one or more sequencesof one or more instructions contained in main memory 606. Suchinstructions may be read into main memory 606 from another storagemedium, such as storage device 610. Execution of the sequences ofinstructions contained in main memory 606 causes processor 604 toperform the process steps described herein. In alternative embodiments,hard-wired circuitry may be used in place of or in combination withsoftware instructions.

The term “storage media” as used herein refers to any non-transitorymedia that store data and/or instructions that cause a machine tooperate in a specific fashion. Such storage media may comprisenon-volatile media and/or volatile media. Non-volatile media includes,for example, optical disks, magnetic disks, or solid-state drives, suchas storage device 610. Volatile media includes dynamic memory, such asmain memory 606. Common forms of storage media include, for example, afloppy disk, a flexible disk, hard disk, solid-state drive, magnetictape, or any other magnetic data storage medium, a CD-ROM, any otheroptical data storage medium, any physical medium with patterns of holes,a RAM, a PROM, and EPROM, a FLASH-EPROM, NVRAM, any other memory chip orcartridge.

Storage media is distinct from but may be used in conjunction withtransmission media. Transmission media participates in transferringinformation between storage media. For example, transmission mediaincludes coaxial cables, copper wire, and fiber optics, including thewires that comprise bus 602. Transmission media can also take the formof acoustic or light waves, such as those generated during radio-waveand infra-red data communications.

Various forms of media may be involved in carrying one or more sequencesof one or more instructions to processor 604 for execution. For example,the instructions may initially be carried on a magnetic disk orsolid-state drive of a remote computer. The remote computer can load theinstructions into its dynamic memory and send the instructions over atelephone line using a modem. A modem local to computer system 600 canreceive the data on the telephone line and use an infra-red transmitterto convert the data to an infra-red signal. An infra-red detector canreceive the data carried in the infra-red signal and appropriatecircuitry can place the data on bus 602. Bus 602 carries the data tomain memory 606, from which processor 604 retrieves and executes theinstructions. The instructions received by main memory 606 mayoptionally be stored on storage device 610 either before or afterexecution by processor 604.

Computer system 600 also includes a communication interface 618 coupledto bus 602. Communication interface 618 provides a two-way datacommunication coupling to a network link 620 that is connected to alocal network 622. For example, communication interface 618 may be anintegrated services digital network (ISDN) card, cable modem, satellitemodem, or a modem to provide a data communication connection to acorresponding type of telephone line. As another example, communicationinterface 618 may be a local area network (LAN) card to provide a datacommunication connection to a compatible LAN. Wireless links may also beimplemented. In any such implementation, communication interface 618sends and receives electrical, electromagnetic, or optical signals thatcarry digital data streams representing various types of information.

Network link 620 typically provides data communication through one ormore networks to other data devices. For example, network link 620 mayprovide a connection through local network 622 to a host computer 624 orto data equipment operated by an Internet Service Provider (ISP) 626.ISP 626 in turn provides data communication services through the worldwide packet data communication network now commonly referred to as the“Internet” 628. Local network 622 and Internet 628 both use electrical,electromagnetic, or optical signals that carry digital data streams. Thesignals through the various networks and the signals on network link 620and through communication interface 618, which carry the digital data toand from computer system 600, are example forms of transmission media.

Computer system 600 can send messages and receive data, includingprogram code, through the network(s), network link 620, andcommunication interface 618. In the Internet example, a server 630 mighttransmit a requested code for an application program through Internet628, ISP 626, local network 622, and communication interface 618.

The received code may be executed by processor 604 as it is received,and/or stored in storage device 610, or other non-volatile storage forlater execution.

In the foregoing specification, embodiments of the invention have beendescribed with reference to numerous specific details that may vary fromimplementation to implementation. The specification and drawings are,accordingly, to be regarded in an illustrative rather than a restrictivesense. The sole and exclusive indicator of the scope of the invention,and what is intended by the applicants to be the scope of the invention,is the literal and equivalent scope of the set of claims that issue fromthis application, in the specific form in which such claims issue,including any subsequent correction.

What is claimed is:
 1. A method comprising: at a media presentation system that includes or is coupled to electronic components for presenting digital media, the media presentation system comprising one or more processors, memory, and one or more programs stored in the memory and executed by the one or more processors to perform the method, performing operations comprising: establishing a media presentation session with a media presentation server over a network, the media presentation session established for a digital media presentation to be presented at the media presentation system; receiving, from the media presentation server over a network, one or more first links to one or more first digital media items to be presented in the digital media presentation; using the one or more first links to download the one or more first digital media items from one or more content item repositories over a network; presenting the one or more first digital media items as part of the digital media presentation via the electronic components for presenting digital media; receiving, during the digital media presentation, from the media presentation server over a network, one or more second links to one or more second digital media items to be presented in the digital media presentation; using the one or more second links to download, during the digital media presentation, the one or more second digital media items from one or more content item repositories over a network; automatically presenting, during the digital media presentation, the one or more second digital media items as part of the digital media presentation via the electronic components for presenting digital media; and wherein at least the operations of receiving the one or more first links and receiving the one or more second links are performed while the media presentation session is established and during the digital media presentation.
 2. The method of claim 1, wherein the one or more first digital media items are associated with an account of a first user, and the one or more second digital media items are associated with an account of a second user, different from the first user.
 3. The method of claim 1, wherein at least one of the one or more second digital media items is related to at least one of the one or more first digital media items based on one or more access descriptors for the one or more second digital media items and based on one or more access descriptors for the one or more first digital media items.
 4. The method of claim 1, wherein at least one of the one or more second digital media items is related to at least one of the one or more first digital media items based on one or more privacy descriptors for the one or more second digital media items and based on one or more privacy descriptors for the one or more first digital media items.
 5. The method of claim 1, further comprising: presenting an identifier of the media presentation session at the media presentation system; receiving the identifier of the media presentation session in a request from a personal computing device of a first user to join the media presentation session; wherein the one or more first digital media items are associated with a user account held by the first user; receiving the identifier of the media presentation session in a request from a personal computing device of a second user to join the media presentation session; and wherein the one or more second digital media items are associated with a user account held by the second user.
 6. The method of claim 1, further comprising: receiving an identifier of the digital media presentation with the receiving of the one or more first links; based on the identifier, selecting the digital media presentation to present the one or more first digital media items linked to by the one or more first links; receiving the identifier of the digital media presentation with the receiving the one or more second links; and based on the identifier, selecting the digital media presentation to present the one or more second digital media items linked to by the one or more second links.
 7. The method of claim 1, further comprising: receiving presentation control information from the media presentation server; displaying the digital media presentation according to the presentation control information; and wherein the presentation control information includes one or more: digital media item ordering information, digital media item presentation timing information, or transition effects that the presentation media system is to apply and present for aesthetic transitioning between presentation of successive digital media items.
 8. The method of claim 1, further comprising, while the media presentation session is established, sending capabilities and characteristics of the media presentation system to the media presentation server, the capabilities and characteristics indicating one or more of: screen size of the media presentation system, screen resolution of the media presentation system, or available media decoders of the media presentation system.
 9. The method of claim 1, wherein each of the one or more first links and each of the one or more second links is a Uniform Resource Locator (URL).
 10. The method of claim 1, wherein the media presentation system is a smart television device.
 11. A system for group participation in a digital media presentation, the system comprising: a media presentation system that includes or is coupled to electronic components for presenting digital media, the media presentation system comprising one or more processors, memory, and one or more programs stored in the memory and executed by the one or more processors, the media presentation system configured to: establishing a media presentation session with a media presentation server over a network, the media presentation session established for a digital media presentation to be presented at the media presentation system; receiving, from the media presentation server over a network, one or more first links to one or more first digital media items to be presented in the digital media presentation; using the one or more first links to download the one or more first digital media items from one or more content item repositories over a network; presenting the one or more first digital media items as part of the digital media presentation via the electronic components for presenting digital media; receiving, during the digital media presentation, from the media presentation server over a network, one or more second links to one or more second digital media items to be presented in the digital media presentation; using the one or more second links to download, during the digital media presentation, the one or more second digital media items from one or more content item repositories over a network; automatically presenting, during the digital media presentation, the one or more second digital media items as part of the digital media presentation via the electronic components for presenting digital media; and wherein at least the receiving the one or more first links and receiving the one or more second links are configured to be performed while the media presentation session is established and during the digital media presentation.
 12. The system of claim 11, wherein the one or more first digital media items are associated with an account of a first user, and the one or more second digital media items are associated with an account of a second user, different from the first user.
 13. The system of claim 11, wherein at least one of the one or more second digital media items is related to at least one of the one or more first digital media items based on one or more access descriptors for the one or more second digital media items and based on one or more access descriptors for the one or more first digital media items.
 14. The system of claim 11, wherein at least one of the one or more second digital media items is related to at least one of the one or more first digital media items based on one or more privacy descriptors for the one or more second digital media items and based on one or more privacy descriptors for the one or more first digital media items.
 15. The system of claim 11, further configured: presenting an identifier of the media presentation session at the media presentation system; receiving the identifier of the media presentation session in a request from a personal computing device of a first user to join the media presentation session; wherein the one or more first digital media items are associated with a user account held by the first user; receiving the identifier of the media presentation session in a request from a personal computing device of a second user to join the media presentation session; and wherein the one or more second digital media items are associated with a user account held by the second user.
 16. The system of claim 11, further configured: receiving an identifier of the digital media presentation with the receiving of the one or more first links; based on the identifier, selecting the digital media presentation to present the one or more first digital media items linked to by the one or more first links; receiving the identifier of the digital media presentation with the receiving the one or more second links; based on the identifier, selecting the digital media presentation to present the one or more second digital media items linked to by the one or more second links.
 17. The system of claim 11, further configured: receiving presentation control information from the media presentation server; displaying the digital media presentation according to the presentation control information; wherein the presentation control information includes one or more: digital media item ordering information, digital media item presentation timing information, or transition effects that the presentation media system is to apply and present for aesthetic transitioning between presentation of successive digital media items.
 18. The system of claim 11, further configured, while the media presentation session is established, sending capabilities and characteristics of the media presentation system to the media presentation server, the capabilities and characteristics indicating one or more of: screen size of the media presentation system, screen resolution of the media presentation system, or available media decoders of the media presentation system.
 19. The system of claim 11, wherein each of the one or more first links and each of the one or more second links is a Uniform Resource Locator (URL).
 20. The system of claim 11, wherein the media presentation system is a smart television device. 